@@ -24,7 +24,7 @@ class AdminPanelController < ApplicationController |
||
| 24 | 24 |
end |
| 25 | 25 |
|
| 26 | 26 |
def users |
| 27 |
- @users = User.all |
|
| 27 |
+ @users = User.order('created_at DESC').all
|
|
| 28 | 28 |
end |
| 29 | 29 |
|
| 30 | 30 |
def files |
@@ -48,6 +48,26 @@ class AdminPanelController < ApplicationController |
||
| 48 | 48 |
end |
| 49 | 49 |
end |
| 50 | 50 |
|
| 51 |
+ def make_admin |
|
| 52 |
+ @user = User.find(params[:id]) |
|
| 53 |
+ if @user.admin == true |
|
| 54 |
+ @user.admin = false |
|
| 55 |
+ status = "admin_panel.unmake_admin_success" |
|
| 56 |
+ else |
|
| 57 |
+ @user.admin = true |
|
| 58 |
+ status = "admin_panel.make_admin_success" |
|
| 59 |
+ end |
|
| 60 |
+ respond_to do |format| |
|
| 61 |
+ if @user.save |
|
| 62 |
+ format.html { redirect_to admin_users_path, notice: (t status) }
|
|
| 63 |
+ format.json { head :no_content }
|
|
| 64 |
+ else |
|
| 65 |
+ format.html { redirect_to admin_users_path, alert: (t 'admin_panel.make_admin_error') }
|
|
| 66 |
+ format.json { head :no_content }
|
|
| 67 |
+ end |
|
| 68 |
+ end |
|
| 69 |
+ end |
|
| 70 |
+ |
|
| 51 | 71 |
private |
| 52 | 72 |
|
| 53 | 73 |
# Never trust parameters from the scary internet, only allow the white list through. |
@@ -34,6 +34,13 @@ |
||
| 34 | 34 |
<span>Admin</span></span> |
| 35 | 35 |
</div> |
| 36 | 36 |
<% end %> |
| 37 |
+ <div class="pull-right"> |
|
| 38 |
+ <% if !user.admin %> |
|
| 39 |
+ <%= link_to (t 'admin_panel.make_admin'), make_admin_path(user.id), class: 'btn btn-mini', style: 'width: 100px; margin-top: 6px; line-height: 17px;' %> |
|
| 40 |
+ <% else %> |
|
| 41 |
+ <%= link_to (t 'admin_panel.unmake_admin'), make_admin_path(user.id), class: 'btn btn-mini btn-danger', style: 'width: 100px; margin-top: 6px; line-height: 17px;' %> |
|
| 42 |
+ <% end %> |
|
| 43 |
+ </div> |
|
| 37 | 44 |
</div> |
| 38 | 45 |
<% end %> |
| 39 | 46 |
</div> |
@@ -228,6 +228,11 @@ en: |
||
| 228 | 228 |
maintenance_message: Maintenance Page Message |
| 229 | 229 |
on_switch: Disable |
| 230 | 230 |
off_switch: Enable |
| 231 |
+ make_admin: Grant admin access |
|
| 232 |
+ unmake_admin: Take away admin access |
|
| 233 |
+ make_admin_success: The user was grated admin access. |
|
| 234 |
+ unmake_admin_success: The user lost his admin access. |
|
| 235 |
+ make_admin_error: User permission was not altered. |
|
| 231 | 236 |
nav: |
| 232 | 237 |
admin_panel: Admin Panel |
| 233 | 238 |
account: Account |
@@ -230,6 +230,11 @@ pt-BR: |
||
| 230 | 230 |
maintenance_message: Mensagem de manutenção |
| 231 | 231 |
on_switch: Ligado |
| 232 | 232 |
off_switch: Desligado |
| 233 |
+ make_admin: Conceder acesso de administrador |
|
| 234 |
+ unmake_admin: Tirar acesso de administrador |
|
| 235 |
+ make_admin_success: O usuário agora tem acesso de administrador. |
|
| 236 |
+ unmake_admin_success: O usuário não tem mais acesso de administrador. |
|
| 237 |
+ make_admin_error: A permissão não foi alterada. |
|
| 233 | 238 |
nav: |
| 234 | 239 |
admin_panel: Painel de Controle |
| 235 | 240 |
account: Conta |
@@ -13,6 +13,7 @@ RailsWebsiteTemplate::Application.routes.draw do |
||
| 13 | 13 |
get "contact_message/:id/mark_contact_message_as_readed" => "contact_messages#readed", :as => :mark_contact_message_as_readed |
| 14 | 14 |
get "contact_message/:id/mark_contact_message_as_unread" => "contact_messages#unread", :as => :mark_contact_message_as_unread |
| 15 | 15 |
get "admin/users" => "admin_panel#users", :as => :admin_users |
| 16 |
+ get "admin/users/:id/make_admin" => "admin_panel#make_admin", :as => :make_admin |
|
| 16 | 17 |
get "admin/config" => "admin_panel#site_config", :as => :admin_config |
| 17 | 18 |
post "admin/config/update" => "admin_panel#site_config_update", :as => :config_update |
| 18 | 19 |
|
@@ -28,7 +28,6 @@ Other features are still under development: |
||
| 28 | 28 |
## Todo's |
| 29 | 29 |
|
| 30 | 30 |
* edit account layout |
| 31 |
-* make admin button |
|
| 32 | 31 |
|
| 33 | 32 |
* Install instructions |
| 34 | 33 |
* Heroku Deploy button |